﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace TCG.Engine.Libraries
{
    public enum TargerInfo
    {
        Self,
        Enemy
    }
    public enum ImpactTypeInfo
    {
        DealDamage,
        DealHealing,
        AddGold,
        AddGoldIncome,
        AddMana,
        AddManaIncome,
        DrawCard,
        DiscardCard,
        CostGold,
        CostMana,

        ApplyEffect
    }

    [XmlType("Impact")]
    public class ImpactInfo
    {
        public ImpactTypeInfo Type { get; set; }
        public TargerInfo Target { get; set; }
        public string Value { get; set; }
    }

    public class CardInfo
    {
        public string Id { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
        public string Image { get; set; }

        [XmlArray("Impacts")]
        public List<ImpactInfo> Impacts { get; set; }
        public int CostGold { get; set; }
        public int CostMana { get; set; }

        [XmlArrayItem(ElementName="Class")]
        public List<string> Classes { get; set; }
    }

    //public class ClassInfo

    [XmlType("Cards")]
    public class CardsInfo : List<CardInfo>
    {

    }
}
